#include <stdio.h>
#include <math.h>

#define N 7
#if 1
int main(int argc, char const *argv[])
{
    /*
//数组练习
    int a[6];
    a[0] = 1 ;
    a[1] = 2 ;
    a[2] = 3 ;
    a[3] = 4 ;
    a[4] = 5 ;
    a[5] = 6 ;

    for (int i = 0; i < 6; i++)
    {
        printf("a[%d]=%d\n",i,a[i]);
    }
printf("****************************\n");

    int a1[5];
    for (int i = 0; i < 5; i++)
    {
        printf("a1[%d]=%d\n",i,a1[i]);
    }
printf("****************************\n");

    int a2[5]={1,2,3};
    for (int i = 0; i < 5; i++)
    {
        printf("a2[%d]=%d\n",i,a2[i]);
    }
printf("****************************\n");

    static int a3[5];
    for (int i = 0; i < 5; i++)
    {
        printf("a3[%d]=%d\n",i,a3[i]);
    }
printf("****************************\n");

    int a4[5]={1,2,3,4,5};
    for (int i = 0; i < 5; i++)
    {
        printf("a4[%d]=%d\n",i,a4[i]);
    }
printf("****************************\n");

//二
    int a,b,t;
    printf("请输入第一个数>:");
    scanf("%d",&a);
    printf("请输入第二个数>:");
    scanf("%d",&b);
    printf("a=%d,b=%d\n",a,b);

    t=a;
    a=b;
    b=t;
    printf("a=%d,b=%d\n",a,b);

//倒序
    int a[10]={0};
    for(int i=0;i<10;i++)
    {
    printf("请输入%d个数>:",i+1);
    scanf("%d",&a[i]);
    }
    printf("数组内容>:\n");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ",a[i]);        
    }

    printf("\n");
    for (int i = 0; i < 5; i++)
    {
        int t;
        t=a[i];
        a[i]=a[10-1-i]; //将第十个数赋值给第一个个数, a[10-1-i](9-i,9是最后一个元素)
        a[10-1-i]=t;
    }
    printf("数组倒序内容>:\n");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ",a[i]);        
    }   
    printf("\n");

//输出最大的数
    int a[10]={0};
    int t,t1;
    for(int i=0;i<10;i++)
    {
    printf("请输入%d个数>:",i+1);
    scanf("%d",&a[i]);
    }
    printf("数组内容>:\n");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ",a[i]);        
    }
    printf("\n");


    for(int i=0;i<10;i++)
    {
       if(a[i]>a[i+1])
        {
            t=a[i];
            a[i]=a[i+1];
            a[i+1]=t;
        }
    }
    printf("最大的数为: %d\n",t);

//冒泡排序
    int a[N];
    for(int i=0;i<N;i++)
    {
    printf("请输入%d个数>:",i+1);
    scanf("%d",&a[i]);
    }
    printf("冒泡排序前的数组内容为>:\n");
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }

    for (int i = 0; i < N-1; i++)//第一次排序，每次-1
    {
        for (int j = 0,t = 0; j < N-1-i; j++)//与第一次排序中相差值，每次与第一次-1
        {
            if(a[j] > a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
        
    }
    printf("\n");
    printf("冒泡排序后的数组内容为>:\n");
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }
*/

//选择排序
    int a[N];
    for(int i=0;i<N;i++)
    {
    printf("请输入%d个数>:",i+1);
    scanf("%d",&a[i]);
    }
    printf("选择排序前的数组内容为>:\n");
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }
  //从小到大排列
    for (int i = 0,k,t; i < N-1; i++)//第一次排序，每次-1
    {
            k=0;
        for (int j = 0; j < N-1-i; j++)//与第一次排序中相差值，每次与第一次-1
        {
            if(a[k] < a[j+1])
            {
                k = j+1;
            }
        }
        if(k!=(N-i-1))
        {
            t=a[k];
            a[k]=a[N-i-1];
            a[N-i-1]=t;
        }
        
    }
    printf("\n");
    printf("从小到大排列的数组内容为>:\n");
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }

  //从大到小排列
    for (int i = 0,k,t; i < N-1; i++)
    {
        k = 0;
        for (int j = 0; j < N-i-1; j++)
        {
            if(a[k] > a[j+1])
            {
                k = j+1;
            }
        }
        if(k!=(N-i-1))
        {
            t=a[k];
            a[k]=a[N-i-1];
            a[N-i-1]=t;
        }
        
    }
    printf("\n");
    printf("从大到小排列的数组内容为>:\n");
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }
    
    
    return 0;
}

#else

int main(int argc, char const *argv[])
{
   int a[5];
   int t;
   printf("请输入数组>:");
    for (int i = 0; i < 5; i++)
    {
        printf("a[%d]=",i);
        scanf("%d",&a[i]);
    }
    for (int i = 0; i < 5; i++)
    {
        printf("%5d",a[i]);
    }
    printf("\n");
    for(int i=0;i<5;i++)
    {
        if(a[i]<a[i+1])
        {
            t=a[i+1];
            a[i+1]=a[i];
            a[i]=t;
        }
    }
    printf("%d\n",t);

    return 0;
} 


#endif
